perm filename ADJUST.SAI[11,ALS]1 blob
sn#060631 filedate 1973-09-03 generic text, type T, neo UTF8
00010 BEGIN "ADJUST"
00020 DEFINE ⊂="COMMENT"; ⊂ 9/2/73 ADJUSTS INPUT DATA;
00030 DEFINE CR="'15",LF="'12",CRLF="CR&LF",TB="'11";
00040
00050 INTEGER ARRAY INDATA[0:255];
00060 INTEGER ARRAY LFILE[0:'177];
00070 INTEGER ARRAY SUMS[0:23,0:63];
00080 INTEGER I,J,K,L,M,N,P,SEGC,SEGTOT,BRK,EOF,EOFA,BPT,RL;
00090 INTEGER CHAN1,CHAN2, CHAN3,CHAN4;
00100 STRING READ1,FILEI,FILEL,FILLST;
00110 BOOLEAN ER;
00120
00130 STDBRK(1);
00140 SETBREAK(14,"∃",NULL,"INS");
00150 SETBREAK(16,'56,NULL,"INA");
00160
00170 OUTSTR("This program adjusts the input data from the specified file "
00180 &"and creates a new file with extension of T0X."&CRLF);
00190 CHAN1←1; CHAN2←2; CHAN3←3; CHAN4←4;
00200
00210 OPEN(CHAN1,"DSK",'10,10,0,0,0,EOF);
00220 LOOKUP(CHAN1,"NORMAL.DAT",0);
00230 ARRYIN(CHAN1,SUMS[0,0],1536);
00240 CLOSE(CHAN1);
00250
00260 OUTSTR("Data file list (LIST28) = "); FILEL←INCHWL;
00270 IF FILEL="" THEN FILEL←"LIST28";
00280 CLOSE(CHAN2); OPEN(CHAN2,"DSK",1,2,0,3500,BRK,EOFA);
00290 LOOKUP(CHAN2,FILEL,ER);
00300 WHILE ER DO BEGIN OUTSTR(CRLF&"Can't find "&FILEL&" File = ");
00310 LOOKUP(CHAN2,FILEL←INCHWL,ER); END; EOFA←0;
00320 FILLST←INPUT(CHAN2,14); EOFA←0; RL←0; CLOSE(CHAN2);
00330 WHILE EOFA=0 DO BEGIN "LISTREAD"
00340 FILEI←SCAN(FILLST,1,J); IF FILEI="" THEN DONE;
00350
00360 CLOSE(CHAN4); OPEN(CHAN4,"DSK",'10,10,0,0,0,EOF);
00370 LOOKUP(CHAN4,FILEI,ER);
00380 IF EOF≠0 THEN DONE;
00390 ARRYIN(CHAN4,LFILE[0],'200); ⊂ Input header;
00400 SEGTOT←(LFILE[0]*6)%256; SEGC←0;
00410 OUTSTR(FILEI&" "&CVS(SEGTOT)&" seg. ");
00420
00430 READ1←SCAN(FILEI,16,J)&"T0X";
00440 CLOSE(CHAN3); OPEN(CHAN3,"DSK",'10,0,10,0,0,EOF);
00450 ENTER(CHAN3,READ1,BRK); ARRYOUT(CHAN3,LFILE[0],'177);
00460
00470 WHILE TRUE DO BEGIN
00480 FOR I←0 STEP 1 UNTIL 255 DO INDATA[I]←0;
00490 ARRYIN(CHAN4,INDATA[0],256);
00500 BPT←POINT(6,INDATA[0],-1);
00510 FOR I←0 STEP 1 UNTIL 63 DO BEGIN
00520 SEGC←SEGC+1; IF SEGC>SEGTOT THEN DONE;
00530 FOR P←0 STEP 1 UNTIL 23 DO BEGIN
00540 J←ILDB(BPT);
00550 K←SUMS[P,J] LAND '77; DPB(K,BPT); END;
00560 END;
00570 ARRYOUT(CHAN3,INDATA[0],256);
00580 IF SEGC>SEGTOT THEN DONE;
00590 END;
00600
00610 CLOSE(CHAN3); OUTSTR(" Created file "&READ1&CRLF);
00620
00630 IF EOFA≠0 THEN DONE;
00640 END "LISTREAD";
00650
00660
00670 RELEASE(CHAN1); RELEASE(CHAN2); RELEASE(CHAN3); RELEASE(CHAN4);
00680
00690 END "ADJUST";